Storage systems for storing and using data are used at present. A storage system includes a plurality of storage devices and a control device which controls access to data stored in the plurality of storage devices. A RAID (Redundant Arrays of Independent Disks) technique may be used in a storage system. With RAID data is divided, is replicated, is distributed, and is stored in a plurality of storage devices. As a result, for example, a load involved in access is distributed among the plurality of storage devices and high speed can be realized. Furthermore, for example, data redundancy is realized by the use of the plurality of storage devices, so high reliability can be realized.
In particular, there are cases where data is divided and is stored in a plurality of storage devices. In such cases, parity data for data restoration may be generated on the basis of plural pieces of split data obtained by dividing a piece of data. The parity data is stored in a storage device different from a storage device in which each piece of split data is stored. As a result, even if a piece of split data is lost because of, for example, a failure in a storage device, the lost piece of split data can be restored on the basis of the other pieces of split data and the parity data stored in normal storage devices.
If a failure occurs in a storage device, a process for restoring in a spare storage device or the like data stored in the storage device in which a failure occurs may be referred to as reconstruction. In reconstruction, for example, parity data and each piece of split data stored in normal storage devices are used for restoring in a spare storage device a piece of split data or parity data stored in a storage device in which a failure occurs.
For example, a technique by which parity data can dynamically be stored at any location in a storage device by generating arrangement information for managing the position of the parity data in the storage device is known. The following proposal is made. Arrangement information for each storage device is stored in advance in it. When a failure occurs in a storage device, parity data stored in the storage device in which a failure occurs is regenerated on the basis of arrangement information stored in the other storage devices, and arrangement information for the regenerated parity data is also regenerated.
Furthermore, the following proposal is made. When a read or write access from an upper computer occurs during data restoration, the data restoration is deferred. At the time when the access terminates, the data restoration is resumed from a target block nearest the current head position.
In addition, the following proposal is made for an array recorder which makes data redundant for recording. When a request to record data is made, the termination of recording is reported to a request source at the time when the writing of the data is completed regardless of whether the writing of redundant data corresponding to the data is completed.
Japanese Laid-open Patent Publication No. 10-105346
Japanese Laid-open Patent Publication No. 08-221217
Japanese Laid-open Patent Publication No. 04-312146
A control device may control the performance of reconstruction. In this case, when the control device stops during the reconstruction because of, for example, a failure, it is impossible to continue the reconstruction.
For example, after maintenance work, such as replacement, of the control device, a new control device may be used for performing reconstruction over again. However, reconstruction is stopped during the maintenance work. Furthermore, reconstruction is performed over again. This takes time. As a result, a longer time is required to perform reconstruction. This is inefficient. In addition, as time required to perform reconstruction becomes longer, the possibility that a failure also occurs in another storage device during the reconstruction increases. Accordingly, the risk of being unable to restore data increases.